package P1线性结构;

import java.util.Comparator;

public interface List<E> {
    public void add(E element); //默认在表尾添加元素
    public void add(int index, E element);  //在指定角标处插入元素
    public void remove(E element);  //删除指定元素(默认从左到右第一个出现的元素)
    public E remove(int index);     //删除指定角标处的元素并返回
    public E get(int index);        //获取指定角标处的元素
    public E set(int index, E element); //修改指定角标处的元素为新元素
    public int indexOf(E element);  //查找元素从左到右第一次出现的角标
    public boolean contains(E element); //查看元素是否存在
    public boolean isEmpty();   //判断表是否为空
    public int size();          //获取表中元素的个数
    public void clear();        //清空表
    public List<E> sublist(int fromIndex, int toIndex); //取该表中的一个区间
    public void swap(int i, int j); //交换两个角标处的元素
    public void sort(Comparator<E> comparator);     //根据指定的比较器来进行排序
}
